//package com.keliangliu.demo.bean;
//
//import com.lowagie.text.*;
//import com.lowagie.text.Font;
//import com.lowagie.text.Rectangle;
//import com.lowagie.text.pdf.BaseFont;
//import com.lowagie.text.pdf.PdfWriter;
//import freemarker.template.Configuration;
//import freemarker.template.Template;
//import org.xhtmlrenderer.pdf.ITextFontResolver;
//import org.xhtmlrenderer.pdf.ITextRenderer;
//
//import java.awt.*;
//import java.io.*;
//import java.net.URL;
//import java.net.URLConnection;
//import java.util.Base64;
//import java.util.HashMap;
//import java.util.Map;
//
///**
// * @Auther: lanhao
// * @Date: 2018/8/7 11:46
// * @Description:
// */
//
//public class JavaToPdfHtmlFreeMarkerFS {
//
//    private static final String DEST ="index.pdf";
//    private static final String HTML = "index.ftl";
//    private static final String FONT = JavaToPdfHtmlFreeMarkerFS.class.getClassLoader().getResource("static/font/simsun.ttc").toString();
//    private static Configuration freemarkerCfg=null;
//    static {
//        freemarkerCfg =new Configuration(Configuration.DEFAULT_INCOMPATIBLE_IMPROVEMENTS);
//        //freemarker的模板目录
//        try {
//            freemarkerCfg.setClassForTemplateLoading(JavaToPdfHtmlFreeMarkerFS.class,"/static");
//        } catch (Exception e) {
//            e.printStackTrace();
//        }
//    }
//    public static void main(String[] args){
//        Map<String,Object> data = new HashMap<>();
//        data.put("url","https://img2.baidu.com/it/u=2102736929,2417598652&fm=26&fmt=auto&gp=0.jpg");
////        data.put("img", "|1");
//        String content =freeMarkerRender(data,HTML);
//        createPdf(content,DEST);
//
////        System.out.println(getByteArrayFromImageURL("https://img2.baidu.com/it/u=2102736929,2417598652&fm=26&fmt=auto&gp=0.jpg"));
//
//    }
//
//
//
//    /**
//     * freemarker渲染html
//     */
//    public static String freeMarkerRender(Map<String, Object> data,String htmlTmp) {
//        Writer out = new StringWriter();
//        try {
//            // 获取模板,并设置编码方式
//            Template template = freemarkerCfg.getTemplate(htmlTmp, "UTF-8");
//            // 合并数据模型与模板
//            template.process(data, out); //将合并后的数据和模板写入到流中，这里使用的字符流
//            out.flush();
//            return out.toString();
//        } catch (Exception e) {
//            e.printStackTrace();
//        } finally {
//            try {
//                out.close();
//            } catch (IOException ex) {
//                ex.printStackTrace();
//            }
//        }
//        return null;
//    }
//
//    private static void createPdf(String content,String dest) {
//        try {
//            ITextRenderer render = new ITextRenderer();
//            //解决中文不显式问题
//            ITextFontResolver fontResolver = render.getFontResolver();
//            fontResolver.addFont(FONT,
//                    BaseFont.IDENTITY_H,BaseFont.NOT_EMBEDDED);
//            // 解析html生成pdf
//            render.setDocumentFromString(content);
//            //解决图片相对路径的问题
//            render.layout();
//            render.createPDF(new FileOutputStream(dest));
//        }catch (Exception e) {
//            e.printStackTrace();
//        }
//    }
//}
